# -*- coding: utf-8 -*-

import random

#criaçao de uma lista de 20 numeros inteiros aleatorios
#distribuidos uniformemente entre 0 e 99

#abordagem imperativa
l1 = list()
N = 20
k = 0
while k < N:
    l1.append(random.randint(0,99))
    k += 1
    pass
print "abordagem imperativa"
print l1

#lista dos numeros pares
l2 = list()
for x in l1:
    if not(x % 2):
        l2.append(x)
        pass
    pass

print "lista de numeros pares"
print l2

#abordagem funcional
#criaçao de lista de dados por uso de uma compreensao de lista
l1 = [ random.randint(0,99) for k in range(N) ]
print "abordagem funcional"
print l1

#uso de um filtro com expressoes lambda
l2 = filter(lambda x: not(x % 2), l1)
print "numeros pares usando filtro lambda"
print l2
